package com.bosssoft.trainee.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bosssoft.trainee.entity.po.Route;

import java.util.List;
import java.util.Map;

/**
 * @author liuqiang
 * @date 2022/7/19 11:18
 */
public interface RouteService extends IService<Route> {

    /**
     * 根据角色id查找路由
     * @param roleId 角色id
     * @return 路由列表
     */
    List<Route> getRoutesByRole(Integer roleId);

    /**
     * 根据父节点id查找路由
     * @param parentId 父节点id
     * @return 路由
     */
    Route getRouteByParentId(Integer parentId);

    /**
     * 根据路由生成具体的map
     * @param route 路由
     * @return map
     */
    Map<String,Object> getRoutesMap(Route route);

    /**
     * 根据路由生成meta的map
     * @param route 路由
     * @return map-meta
     */
    Map<String,Object> getMetaMap(Route route);

    /**
     * 根据路由路径找出具体路由
     * @param list 路径list
     * @return 路由列表
     */
    List<Route> getRoutesByPath(List<String> list);

}
